home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / a_man / cat1 / traceroute.z / traceroute
Encoding:
Text File  |  1998-10-20  |  14.0 KB  |  331 lines

  1.  
  2.  
  3.  
  4. TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))                                                  TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      traceroute - print the route packets take to a network host
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ////uuuussssrrrr////eeeettttcccc////ttttrrrraaaacccceeeerrrroooouuuutttteeee [ ----gggg addr ] [ ----llll ] [ ----mmmm max_ttl ]
  13.           [ ----MMMM min_ttl ] [ ----nnnn ] [ ----pppp port ] [ ----qqqq nqueries ]
  14.           [ ----rrrr ] [ ----ssss src_addr ] [ ----tttt tos ] [ ----wwww waittime ]
  15.           _h_o_s_t [ _d_a_t_a_l_e_n ]
  16.  
  17. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.      The Internet is a large and complex aggregation of network hardware,
  19.      connected by gateways.  Tracking the route your packets follow (or
  20.      finding the miscreant gateway that's discarding your packets) can be
  21.      difficult.  _t_r_a_c_e_r_o_u_t_e utilizes the IP protocol ``time-to-live'' (TTL)
  22.      field and attempts to elicit an ICMP TIME_EXCEEDED response from each
  23.      gateway along the path to some host.
  24.  
  25.      The only mandatory parameter is the destination host name or IP address.
  26.      The default probe datagram length is 40 bytes, but this may be increased
  27.      by specifying the additional length (in bytes) after the destination host
  28.      name.
  29.  
  30.      The options are:
  31.  
  32.      ----gggg   Enable the IP LSRR (Loose Source Record Route) option in addition to
  33.           the TTL tests.  This is useful for asking how somebody else, at
  34.           _a_d_d_r, (either an IP address or a hostname) reaches a particular
  35.           target.
  36.  
  37.      ----llll   Print the value of the TTL field in each received packet (this can
  38.           be used to help detect asymmetric routing).
  39.  
  40.      ----mmmm   Set the maximum time-to-live (maximum number of hops) used in
  41.           outgoing probe packets.  The default is 30 hops or the minimum TTL
  42.           plus 1, whichever is larger.
  43.  
  44.      ----MMMM   Set the minimum time-to-live used in outgoing probe packets.  The
  45.           default is 1 hop.
  46.  
  47.      ----nnnn   Print hop addresses numerically rather than symbolically and
  48.           numerically (saves a nameserver address-to-name lookup for each
  49.           gateway found on the path).
  50.  
  51.      ----pppp   Set the base UDP port number used in probes (default is 33434).
  52.           _t_r_a_c_e_r_o_u_t_e hopes that nothing is listening on UDP ports _b_a_s_e to
  53.           _b_a_s_e+_n_h_o_p_s-_1 at the destination host (so an ICMP PORT_UNREACHABLE
  54.           message will be returned to terminate the route tracing).  If
  55.           something is listening on a port in the default range, this option
  56.           can be used to pick an unused port range.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))                                                  TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))
  71.  
  72.  
  73.  
  74.      ----qqqq   Set the number of probe packets to send. The default is 3 packets.
  75.  
  76.      ----rrrr   Bypass the normal routing tables and send directly to a host on an
  77.           attached network.  If the host is not on a directly attached
  78.           network, an error is returned.  This option can be used to ping a
  79.           local host through an interface that has no route through it (for
  80.           example, after the interface was dropped by _r_o_u_t_e_d(1M)).
  81.  
  82.      ----ssss   Use the following IP address (which must be given as a number, not a
  83.           hostname) as the source address in outgoing probe packets.  On hosts
  84.           with more than one IP address, this option can be used to force the
  85.           source address to be something other than the IP address of the
  86.           interface the probe packet is sent on.  If the IP address is not one
  87.           of this machine's interface addresses, an error is returned and
  88.           nothing is sent.
  89.  
  90.      ----tttt   Set the _t_y_p_e-_o_f-_s_e_r_v_i_c_e (TOS) in probe packets to the following
  91.           value (default zero).  The value must be a decimal integer in the
  92.           range 0 to 255.  This option can be used to see if different types-
  93.           of-service result in different paths.  Not all values of TOS are
  94.           legal or meaningful: see the IP RFC for definitions.  Useful values
  95.           are probably ----tttt 16 (low delay) and ----tttt 8 (high throughput).
  96.  
  97.      ----vvvv   Verbose output.  Received ICMP packets other than TIME_EXCEEDED and
  98.           PORT_UNREACHABLEs are listed.
  99.  
  100.      ----wwww   Set the time (in seconds) to wait for a response to a probe (default
  101.           is 3 seconds).
  102.  
  103.      This program attempts to trace the route an IP packet would follow to
  104.      some Internet host by launching UDP probe packets with a small TTL then,
  105.      listening for an ICMP TIME_EXCEEDED reply from a gateway.  The probes
  106.      begin with a TTL of one and increase by one until an ICMP
  107.      PORT_UNREACHABLE message is received, which means we got to ``host'' or
  108.      hit the maximum (which defaults to 30 hops but can be changed with the ----mmmm
  109.      flag).  Three probes (changed with ----qqqq flag) are sent at each TTL setting
  110.      and a line is printed showing the TTL, address of the gateway and round
  111.      trip time of each probe.  If the probe answers come from different
  112.      gateways, the address of each responding system will be printed.  If
  113.      there is no response within a 3-second timeout interval (changed with the
  114.      ----wwww flag), a ``*'' is printed for that probe.
  115.  
  116.      So that the destination host will not process the UDP probe packets, the
  117.      destination port is set to an unlikely value.  If someone on the
  118.      destination is using that value, it can be changed with the ----pppp flag.
  119.  
  120.      A sample use and output might be:
  121.  
  122.         % traceroute nis.nsf.net.
  123.         traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 56 byte packet
  124.          1  helios.ee.lbl.gov (128.3.112.1)  19 ms  19 ms  0 ms
  125.          2  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  39 ms  19 ms
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))                                                  TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))
  137.  
  138.  
  139.  
  140.          3  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  39 ms  19 ms
  141.          4  ccngw-ner-cc.Berkeley.EDU (128.32.136.23)  39 ms  40 ms  39 ms
  142.          5  ccn-nerif22.Berkeley.EDU (128.32.168.22)  39 ms  39 ms  39 ms
  143.          6  128.32.197.4 (128.32.197.4)  40 ms  59 ms  59 ms
  144.          7  131.119.2.5 (131.119.2.5)  59 ms  59 ms  59 ms
  145.          8  129.140.70.13 (129.140.70.13)  99 ms  99 ms  80 ms
  146.          9  129.140.71.6 (129.140.71.6)  139 ms  239 ms  319 ms
  147.         10  129.140.81.7 (129.140.81.7)  220 ms  199 ms  199 ms
  148.         11  nic.merit.edu (35.1.1.48)  239 ms  239 ms  239 ms
  149.  
  150.      Notice that lines 2 and 3 are the same because of a buggy kernel on the
  151.      second hop system - lbl-csam.arpa - that forwards packets with a zero TTL
  152.      (a bug in the distributed version of 4.3BSD).  You have to guess what
  153.      path the packets are taking cross-country since the NSFNet (129.140)
  154.      doesn't supply address-to-name translations for its NSSes.
  155.  
  156.      A more interesting example is:
  157.  
  158.         % traceroute allspice.lcs.mit.edu.
  159.         traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 hops max
  160.          1  helios.ee.lbl.gov (128.3.112.1)  0 ms  0 ms  0 ms
  161.          2  lilac-dmc.Berkeley.EDU (128.32.216.1)  19 ms  19 ms  19 ms
  162.          3  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  19 ms  19 ms
  163.          4  ccngw-ner-cc.Berkeley.EDU (128.32.136.23)  19 ms  39 ms  39 ms
  164.          5  ccn-nerif22.Berkeley.EDU (128.32.168.22)  20 ms  39 ms  39 ms
  165.          6  128.32.197.4 (128.32.197.4)  59 ms  119 ms  39 ms
  166.          7  131.119.2.5 (131.119.2.5)  59 ms  59 ms  39 ms
  167.          8  129.140.70.13 (129.140.70.13)  80 ms  79 ms  99 ms
  168.          9  129.140.71.6 (129.140.71.6)  139 ms  139 ms  159 ms
  169.         10  129.140.81.7 (129.140.81.7)  199 ms  180 ms  300 ms
  170.         11  129.140.72.17 (129.140.72.17)  300 ms  239 ms  239 ms
  171.         12  * * *
  172.         13  128.121.54.72 (128.121.54.72)  259 ms  499 ms  279 ms
  173.         14  * * *
  174.         15  * * *
  175.         16  * * *
  176.         17  * * *
  177.         18  ALLSPICE.LCS.MIT.EDU (18.26.0.115)  339 ms  279 ms  279 ms
  178.  
  179.      Notice that the gateways 12, 14, 15, 16 and 17 hops away either don't
  180.      send ICMP TIME_EXCEEDED messages or send them with a TTL too small to
  181.      reach us.  14 - 17 are running the MIT C Gateway code that doesn't send
  182.      TIME_EXCEEDEDs.
  183.  
  184.      The silent gateway 12 in the above example may be the result of a bug in
  185.      the 4.[23]BSD network code (and its derivatives):  4.x (x <= 3) sends an
  186.      unreachable message using whatever TTL remains in the original datagram.
  187.      Since, for gateways, the remaining TTL is zero, the ICMP TIME_EXCEEDED is
  188.      guaranteed to not make it back to us.  The behavior of this bug is
  189.      slightly more interesting when it appears on the destination system:
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))                                                  TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))
  203.  
  204.  
  205.  
  206.         % traceroute rip.berkeley.edu
  207.          1  helios.ee.lbl.gov (128.3.112.1)  0 ms  0 ms  0 ms
  208.          2  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  19 ms  39 ms
  209.          3  lilac-dmc.Berkeley.EDU (128.32.216.1)  19 ms  39 ms  19 ms
  210.          4  ccngw-ner-cc.Berkeley.EDU (128.32.136.23)  39 ms  40 ms  19 ms
  211.          5  ccn-nerif35.Berkeley.EDU (128.32.168.35)  39 ms  39 ms  39 ms
  212.          6  csgw.Berkeley.EDU (128.32.133.254)  39 ms  59 ms  39 ms
  213.          7  * * *
  214.          8  * * *
  215.          9  * * *
  216.         10  * * *
  217.         11  * * *
  218.         12  * * *
  219.         13  rip.Berkeley.EDU (128.32.131.22)  59 ms !  39 ms !  39 ms !
  220.  
  221.      Notice of the 12 ``gateways'' (13 is the final destination), exactly the
  222.      half of them are ``missing''.  In this example, rip, a Sun-3 running Sun
  223.      OS3.5, is using the TTL from the arriving datagram as the TTL in its ICMP
  224.      reply.  The reply will then time out on the return path, with no notice
  225.      sent to anyone since ICMP packets aren't sent for ICMP packets, until we
  226.      probe with a TTL that's at least twice the path length - that is, rip is
  227.      really only 7 hops away.  A reply that returns with a TTL of 1 is a clue
  228.      this problem exists.  Traceroute prints a ``!'' after the time if the TTL
  229.      is <= 1.  Since some vendors ship obsolete or nonstandard software,
  230.      expect to see this problem frequently and/or take care selecting the
  231.      target host of your probes.
  232.  
  233.      Other possible annotations after the time are !!!!HHHH, !!!!NNNN, !!!!PPPP (got a host,
  234.      network or protocol unreachable, respectively), !!!!SSSS or !!!!FFFF (source route
  235.      failed or fragmentation needed - neither of these should ever occur, and
  236.      the associated gateway is broken if you see one).  If almost all the
  237.      probes result in some kind of unreachable, _t_r_a_c_e_r_o_u_t_e will give up and
  238.      exit.
  239.  
  240.      ((((ttttttttllll====nnnn!!!!)))) indicates that the TTL value in the ICMP TIME_EXCEEDED packet
  241.      that we received was "unexpected".  What we expect is that the value will
  242.      be (some initial value - the number of routers between us).  In other
  243.      words, if the path from hop 5 to us is the same as the path from us to
  244.      hop 5, we expect to receive a TTL value of (some initial value - 4).
  245.      Unfortunately, there are several common "initial value"s for ICMP TTLs.
  246.      The most common are 255, 60, 59, 30, 29.  (IRIX, 4.3BSD-tahoe and cisco
  247.      routers use 255, Proteon routers use either 59 or 29 depending on
  248.      software release, several other implementations use 60 and 30.)
  249.      Traceroute checks against all of these, making it hard to detect some
  250.      "off by one" routing asymmetries.  If you want to see all the TTL values
  251.      in all the packets, use the ----llll option.
  252.  
  253.      For example,
  254.  
  255.           % traceroute -g 10.3.0.5 128.182.0.0
  256.  
  257.      will show the path from the Cambridge Mailbridge to PSC while
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))                                                  TTTTRRRRAAAACCCCEEEERRRROOOOUUUUTTTTEEEE((((1111MMMM))))
  269.  
  270.  
  271.  
  272.           % traceroute -g 192.5.146.4 -g 10.3.0.5 35.0.0.0
  273.  
  274.      shows how the Cambridge Mailbrige reaches Merit, by using PSC to reach
  275.      the Mailbridge.
  276.  
  277.      This program is intended for use in network testing, measurement, and
  278.      management.  It should be used primarily for manual fault isolation.  It
  279.      is unwise to use _t_r_a_c_e_r_o_u_t_e during normal operations or from automated
  280.      scripts due to the load it could impose on the network.
  281.  
  282. AAAAUUUUTTTTHHHHOOOORRRRSSSS
  283.      Van Jacobson, Steve Deering, C. Philip Wood, Tim Seaver, and Ken Adelman.
  284.  
  285. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  286.      netstat(1), ping(1M)
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.